package com.onec.service.api.service.channel;

import com.onec.service.api.dto.request.channel.ChannelTradeReq;
import com.onec.service.api.dto.response.channel.ChannelTradeResp;

/**
 * 通道交易类接口！
 *
 * @author onec
 * @since 20210302
 */
public interface ChannelTradeApiService {


    /**
     * 微信交易通用类
     */
    ChannelTradeResp requestWeiXin(ChannelTradeReq channelTradeReq);

    /**
     * 支付宝交易通用类
     */
    ChannelTradeResp requestAliPay(ChannelTradeReq channelTradeReq);

    /**
     * 银联二维码交易通用类
     */
    ChannelTradeResp requestUnionPay(ChannelTradeReq channelTradeReq);

    /**
     * 产品开通
     */
    ChannelTradeResp openProduct(ChannelTradeReq channelTradeReq);

    /**
     * 快捷支付交易通用类
     *
     * @param
     * @return
     */
    ChannelTradeResp requestApiConfirm(ChannelTradeReq channelTradeReq);


    /**
     * 签约申请
     *
     * @return
     */
    ChannelTradeResp signUpCard(ChannelTradeReq channelTradeReq);


    /**
     * 解约
     *
     * @return
     */
    ChannelTradeResp unSignUpCard(ChannelTradeReq channelTradeReq);

    /**
     * 出款
     *
     * @return
     */
    ChannelTradeResp rePayment(ChannelTradeReq channelTradeReq);


    /**
     * 快捷支付交易通用类
     *
     * @param
     * @return
     */
    ChannelTradeResp requestHtml(ChannelTradeReq channelTradeReq);


    /**
     * 商户绑卡信息查询
     */
    ChannelTradeResp querySignUpCard(ChannelTradeReq channelTradeReq);

    /**
     * 订单信息查询
     */
    ChannelTradeResp queryOnlineOrderApi(ChannelTradeReq channelTradeReq);

    /**
     * 代付交易订单车讯
     *
     * @return
     */
    ChannelTradeResp queryRepayment(ChannelTradeReq channelTradeReq);

}
